﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class СотрудникиОрганизацийПереопределяемый
	{
		////////////////////////////////////////////////////////////////////////////////
		// Вспомогательные процедуры, функции
		// Процедура заполняет вычисляемые колонки формы списка справочника СотрудникиОрганизаций
		//
		// Параметры
		//  ТабличноеПоле   – Табличное поле
		//  ОформленияСтрок – Коллекция значений типа ОформлениеСтроки табличного поля ТЧДокумента
		//  ДатаСреза	 	- тип дата, дата на которую получаем данные работников организации
		//

		public void ЗаполнитьДанныеПоРаботникамОрганизации(/*ТабличноеПоле, ОформленияСтрок, ИспользоватьКешПриПолученииДанных, КешПриПолученииДанных*/)
		{
			/*Экспорт

	КолонкиТабличногоПоля = ТабличноеПоле.Колонки;*/
			//ПоказыватьАванс			= КолонкиТабличногоПоля.Аванс.Видимость;
			//ПоказыватьЛицевыеСчета	= КолонкиТабличногоПоля.НомерЛицевогоСчета.Видимость ИЛИ КолонкиТабличногоПоля.Банк.Видимость;
			if(true/*Не (ПоказыватьАванс ИЛИ ПоказыватьЛицевыеСчета)*/)
			{
			}
			if(true/*Не КешПриПолученииДанных.Свойство("ДанныеСотрудников")*/)
			{
				//ДанныеСотрудников = Неопределено;
			}
			//МассивСотрудников = Новый Массив;
			if(true/*МассивСотрудников.Количество() > 0*/)
			{
				//Запрос = Новый Запрос;
				//Запрос.УстановитьПараметр("МассивСотрудников", МассивСотрудников);
				/*Запрос.Текст =
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ";*/
				if(true/*ПоказыватьАванс*/)
				{
					/*Запрос.Текст = Запрос.Текст + "
			|	ЕСТЬNULL(АвансыРаботникамОрганизаций.СуммаАванса, 0) КАК СуммаАванса,";*/
				}
				if(true/*ПоказыватьЛицевыеСчета*/)
				{
					/*Запрос.Текст = Запрос.Текст + "
			|	ЕСТЬNULL(ЛицевыеСчетаРаботниковОрганизации.НомерЛицевогоСчета, """") КАК НомерЛицевогоСчета,
			|	ЕСТЬNULL(ЛицевыеСчетаРаботниковОрганизации.Банк, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) КАК Банк,";*/
				}
				/*Запрос.Текст = Запрос.Текст + "
		|	Сотрудники.Ссылка КАК Сотрудник
		|ИЗ
		|	Справочник.СотрудникиОрганизаций КАК Сотрудники";*/
				if(true/*ПоказыватьАванс*/)
				{
					/*Запрос.Текст = Запрос.Текст + "
			|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АвансыРаботникамОрганизаций КАК АвансыРаботникамОрганизаций
			|		ПО Сотрудники.Физлицо = АвансыРаботникамОрганизаций.Физлицо
			|			И Сотрудники.ТекущееОбособленноеПодразделение = АвансыРаботникамОрганизаций.Организация";*/
				}
				if(true/*ПоказыватьЛицевыеСчета*/)
				{
					/*Запрос.Текст = Запрос.Текст + "
			|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЛицевыеСчетаРаботниковОрганизации КАК ЛицевыеСчетаРаботниковОрганизации
			|		ПО Сотрудники.Физлицо = ЛицевыеСчетаРаботниковОрганизации.Физлицо
			|			И Сотрудники.ТекущееОбособленноеПодразделение = ЛицевыеСчетаРаботниковОрганизации.Организация";*/
				}
				/*Запрос.Текст = Запрос.Текст + "
		|ГДЕ
		|	Сотрудники.Ссылка В(&МассивСотрудников)";*/
				//Таблица = Запрос.Выполнить().Выгрузить();
				if(true/*ДанныеСотрудников = Неопределено*/)
				{
					//ДанныеСотрудников = Новый ТаблицаЗначений;
					//ДанныеСотрудников.Колонки.Добавить("Сотрудник");
					//ДанныеСотрудников.Колонки.Добавить("СуммаАванса");
					//ДанныеСотрудников.Колонки.Добавить("НомерЛицевогоСчета");
					//ДанныеСотрудников.Колонки.Добавить("Банк");
					//ДанныеСотрудников.Индексы.Добавить("Сотрудник");
				}
				//КешПриПолученииДанных.Вставить("ДанныеСотрудников",	ДанныеСотрудников);
			}
			//Авансы = КешПриПолученииДанных.Авансы;
			//КешПриПолученииДанных.Вставить("Авансы", Авансы);
		}
		////////////////////////////////////////////////////////////////////////////////
		// Процедуры, функции объекта

		public object СформироватьТекстНадписи(/**/)
		{
			return null;
		}

		public object ОчищатьВидЗанятости(/*ЭтаФорма*/)
		{
			return null;
		}

		public void ДополнитьВидыДоговоровДляУсловия(/*ВидыДоговоров*/)
		{
			//ВидыДоговоров.Добавить(Перечисления.ВидыДоговоровСФизЛицами.ТрудовойДоговор);
		}
		// Определяет имеет ли смысл спрашивать у пользователя обособленное подразделение,
		//	гдебудет работать сотрудник
		//
		// Параметры
		//	нет
		//
		// Возвращаемое значение:
		//   булево
		//

		public object ПоказыватьОбособленноеПодразделение(/*ЭтаФорма*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Организация", ЭтаФорма.Организация);
			/*Запрос.Текст =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	Организации.ЮрФизЛицо
	|ИЗ
	|	Справочник.Организации КАК Организации
	|ГДЕ
	|	Организации.Ссылка = &Организация";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			/*// организация должна быть выбрана
*/
			/*// это не должно быть физлицо
*/
			//И ЭтаФорма.мСписокОбособленныхПодразделений.Количество() > 1;
			/*// у нашей орг есть обособленные подразделения
*/
			return null;
		}
		// ПоказыватьОбособленноеПодразделение()

		public void ОчиститьНеИспользуемыеРеквизитыДополнительно(/*ЭтаФорма*/)
		{
			if(true/*ЭтаФорма.ВидДоговора = Перечисления.ВидыДоговоровСФизЛицами.ДоговорУправленческий*/)
			{
				//ЭтаФорма.Организация = Справочники.Организации.ПустаяСсылка();
				//ЭтаФорма.ОбособленноеПодразделение = Справочники.Организации.ПустаяСсылка();
			}
		}

		public void МодульОбъектаПередЗаписьюДополнительно(/*ЭтотОбъект, Отказ*/)
		{
			if(true/*Не ЭтотОбъект.ЭтоГруппа*/)
			{
				//СтруктураКадровыеДанные = ПолныеПраваДополнительный.ПолучитьТекущиеКадровыеДанныеФизлица(ЭтотОбъект.Физлицо, Отказ);
				//ЗаполнитьЗначенияСвойств(ЭтотОбъект, СтруктураКадровыеДанные);
			}
		}

		public void ДополнитьВидыДоговоровДляПолученияНомера(/*ВидыДоговоров*/)
		{
			/*// В этой конфигурации дополнительных видов договоров не предусмотрено
*/
		}

		public void ЗаполнитьПараметрыВидовДоговоров(/*парамВидДоговора, ВидДоговора, Префикс*/)
		{
			if(true/*ВидДоговора = Перечисления.ВидыДоговоровСФизЛицами.ТрудовойДоговор*/)
			{
				//парамВидДоговора.Добавить(Перечисления.ВидыДоговоровСФизЛицами.ТрудовойДоговор);
			}
		}

		public object ПолучитьСтруктуруПечатныхФорм(/*СотрудникОбъект*/)
		{
			//СтруктураПечатныхФорм = Новый Структура;
			//СотрудникиОрганизацийДополнительный.ДополнитьСтруктуруПечатныхФорм(СтруктураПечатныхФорм, СотрудникОбъект);
			return null;
		}
		// Процедура осуществляет печать документа. Можно направить печать на
		// экран или принтер, а также распечатать необходимое количество копий.
		//
		//  Название макета печати передается в качестве параметра,
		// по переданному названию находим имя макета в соответствии.
		//
		// Параметры:
		//  НазваниеМакета - строка, название макета.
		//

		public object Печать(/*ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь, ЭтотОбъект*/)
		{
			/*// Получить экземпляр документа на печать
*/
			if(true/*ИмяМакета = "Печать"*/)
			{
				//ТабДокумент = Новый ТабличныйДокумент;
				//ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ТрудовойДоговор_Печать";
				/*// получаем данные для печати
*/
				//Выборка = ЭтотОбъект.СформироватьЗапросДляПечатиТрудовогоДоговора().Выбрать();
				/*// получаем макет
*/
				//Макет = ЭтотОбъект.ПолучитьМакет("Макет");
				/*// выводим данные 
*/
				if(true/*Выборка.Следующий()*/)
				{
					//Макет.Параметры.Заполнить(Выборка);
					//Макет.Параметры.ИспытательныйСрокСтрокой = ?(НЕ ЗначениеЗаполнено(Выборка.ИспытательныйСрок),"             месяцев", "" + Выборка.ИспытательныйСрок + " месяца(ев)" );
					//Макет.Параметры.РежимРаботы = "" + Выборка.ВидГрафика + "; " + Выборка.ДлительностьРабочейНедели + " - часовая рабочая неделя";
					//Макет.Параметры.ФормаОплаты = "Форма оплаты: " + Выборка.ВидРасчета + "; Оклад (тариф) = " + Выборка.ТарифнаяСтавка + " ("+Выборка.ВалютаТарифнойСтавки+")";
					//Макет.Параметры.ПолноеНазваниеОрганизации = СокрЛП(Макет.Параметры.ПолноеНазваниеОрганизации);
					//Макет.Параметры.ДокументКемВыдан = СокрЛП(Макет.Параметры.ДокументКемВыдан);
					//ВыборкаПерсональныхНадбавок = Выборка.ПерсональныеНадбавки.Выбрать();
					if(true/*ВыборкаПерсональныхНадбавок.Количество()>0*/)
					{
						//СтрокаНадбавки = "Персональные надбавки: ";
						while(true/*ВыборкаПерсональныхНадбавок.Следующий()*/)
						{
							//СтрокаНадбавки = СтрокаНадбавки + ВыборкаПерсональныхНадбавок.Надбавка + "- " + ВыборкаПерсональныхНадбавок.Показатель1 + "; ";
						}
						/*;
				Макет.Параметры.Надбавки = СтрокаНадбавки;*/
					}
				}
				/*// выводим готовый документ
*/
				//ТабДокумент.Вывести(Макет);
			}
			return null;
		}
		// Печать

		public void ЗаполнитьРеквизитыПоШтатномуРасписанию(/*Форма*/)
		{
			//ДанныеШР = ПроцедурыУправленияПерсоналомПереопределяемый.СведенияОПозицииШтатногоРасписания(Форма.ДатаДоговора, Форма.ПодразделениеОрганизации, Форма.Должность);
			//НадбавкиПоШР = ПроцедурыУправленияПерсоналом.СведенияОНадбавкахПозицииШтатногоРасписания(Форма.ДатаДоговора, Форма.ПодразделениеОрганизации, Форма.Должность);
			if(true/*ДанныеШР.Количество() > 0*/)
			{
				if(true/*Не ЗначениеЗаполнено(Форма.ВалютаТарифнойСтавки)*/)
				{
					//Форма.ВалютаТарифнойСтавки = ДанныеШР[0].ВалютаТарифнойСтавки;
				}
				if(true/*Не ЗначениеЗаполнено(Форма.ГрафикРаботы)*/)
				{
					//Форма.ГрафикРаботы = ДанныеШР[0].ГрафикРаботы;
				}
				if(true/*Не ЗначениеЗаполнено(Форма.ТарифнаяСтавка) и ДанныеШР[0].МаксимальнаяТарифнаяСтавка = ДанныеШР[0].МинимальнаяТарифнаяСтавка*/)
				{
					//Форма.ТарифнаяСтавка = ДанныеШР[0].МаксимальнаяТарифнаяСтавка;
				}
			}
			if(true/*НадбавкиПоШР.Количество() > 0 и Форма.ПерсональныеНадбавки.Количество() = 0*/)
			{
			}
		}

		public void ДополнитьСписокНеЗаполненныхРеквизитов(/*ЭтаФорма, СписокНеЗаполненныхРеквизитов, ОбнаруженыОшибки*/)
		{
			if(true/*ЭтаФорма.ВидДоговора <> Перечисления.ВидыДоговоровСФизЛицами.ДоговорУправленческий и Не ЗначениеЗаполнено(ЭтаФорма.Организация)*/)
			{
				//СписокНеЗаполненныхРеквизитов.Добавить(" Организация");
				//ОбнаруженыОшибки = Истина;
			}
		}
		////////////////////////////////////////////////////////////////////////////////
		// Процедуры, функции для работы формы списка

		public void ФормаСпискаПередОткрытиемДополнительно(/*Форма, ДополнительныеДействия*/)
		{
			//СотрудникиОрганизацийДополнительный.ФормаСпискаПередОткрытиемДополнительно(Форма, ДополнительныеДействия);
		}

		public void ФормаСпискаПриПолученииДанныхДополнительно(/*Форма, Элемент, ОформленияСтрок*/)
		{
			//СотрудникиОрганизацийДополнительный.ФормаСпискаПриПолученииДанныхДополнительно(Форма, Элемент, ОформленияСтрок);
		}

		public void ФормаСпискаПриАктивизацииСтрокиДополнительно(/*Форма, Элемент, ДанныеСтроки*/)
		{
			//СотрудникиОрганизацийДополнительный.ФормаСпискаПриАктивизацииСтрокиДополнительно(Форма, Элемент, ДанныеСтроки);
		}

		public void ФормаСпискаПередЗакрытиемДополнительно(/*Форма, Отказ, СтандартнаяОбработка*/)
		{
			//СотрудникиОрганизацийДополнительный.ФормаСпискаПередЗакрытиемДополнительно(Форма, Отказ, СтандартнаяОбработка);
		}

		public void ФормаСпискаВыполнитьДополнительныеДействия(/*Форма, Кнопка*/)
		{
			//СотрудникиОрганизацийДополнительный.ФормаСпискаВыполнитьДополнительныеДействия(Форма, Кнопка);
		}

		public void ФормаСпискаОбработкаОповещенияДополнительно(/*Форма, ИмяСобытия, Параметр, Источник*/)
		{
			//СотрудникиОрганизацийДополнительный.ФормаСпискаОбработкаОповещенияДополнительно(Форма, ИмяСобытия, Параметр, Источник);
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ФОРМИРОВАНИЯ МЕНЮ ВВЕСТИ ДОКУМЕНТ В ФОРМАХ СПРАВОЧНИКА СОТРУДНИКИ

		public void СформироватьПодменюВвестиДокумент(/*МассивКнопокПодменю, СтруктураСоответствияДействий, ДанныеСотрудника, Форма*/)
		{
			//ИспользоватьУправленческийУчетЗарплаты = глЗначениеПеременной("глИспользоватьУправленческийУчетЗарплаты") И ПользователиДополнительный.ДоступнаРольКадровикаУпр();
			if(true/*ДанныеСотрудника <> Неопределено*/)
			{
				//ВидДоговора						= ДанныеСотрудника.ВидДоговора;
				//ДатаПриема						= ДанныеСотрудника.ДатаПриемаНаРаботу;
				//ДатаУвольнения					= ДанныеСотрудника.ДатаУвольнения;
				if(true/*ИспользоватьУправленческийУчетЗарплаты*/)
				{
					//ДатаПриемаВКомпанию			= ДанныеСотрудника.ДатаПриемаНаРаботуВКомпанию;
					//ДатаУвольненияИзКомпании	= ДанныеСотрудника.ДатаУвольненияИзКомпании;
				}
			}
			if(true/*ВидДоговора = Неопределено*/)
			{
			}
			//Принят			= (ДатаПриема <> Дата(1,1,1));
			//Уволен			= (ДатаУвольнения <> Дата(1,1,1));
			//ПринятВКомпанию	= (ДатаПриемаВКомпанию <> Дата(1,1,1));
			//УволенИзКомпании= (ДатаУвольненияИзКомпании <> Дата(1,1,1));
			if(true/*Уволен И УволенИзКомпании*/)
			{
			}
			/*// Проверка прав доступа на выполнение действий будет осуществляться непосредственно при выборе действий
*/
			if(true/*ВидДоговора = Перечисления.ВидыДоговоровСФизЛицами.ТрудовойДоговор*/)
			{
				if(true/*Не Принят И Не Уволен*/)
				{
					//ДобавитьКнопкуВПодменю(МассивКнопокПодменю, "ПриемНаРаботуВОрганизацию", ТипКнопкиКоманднойПанели.Действие, "Прием на работу в организацию", СтруктураСоответствияДействий.ДействиеВводНаОснованииПриемНаРаботуВОрганизацию);
					//ДобавитьКнопкуВПодменю(МассивКнопокПодменю, "Разделитель1", ТипКнопкиКоманднойПанели.Разделитель);
				}
				if(true/*Принят И Не Уволен*/)
				{
					//ДобавитьКнопкуВПодменю(МассивКнопокПодменю, "КадровоеПеремещениеОрганизаций", ТипКнопкиКоманднойПанели.Действие, "Кадровое перемещение организаций", СтруктураСоответствияДействий.ДействиеВводНаОснованииКадровоеПеремещениеОрганизаций);
					//ДобавитьКнопкуВПодменю(МассивКнопокПодменю, "УвольнениеИзОрганизаций", ТипКнопкиКоманднойПанели.Действие, "Увольнение из организаций", СтруктураСоответствияДействий.ДействиеВводНаОснованииУвольнениеИзОрганизаций);
					//ДобавитьКнопкуВПодменю(МассивКнопокПодменю, "Разделитель3", ТипКнопкиКоманднойПанели.Разделитель);
					//ДобавитьКнопкуВПодменю(МассивКнопокПодменю, "ОтпускаОрганизаций", ТипКнопкиКоманднойПанели.Действие, "Отпуск", СтруктураСоответствияДействий.ДействиеОтпуск);
					//ДобавитьКнопкуВПодменю(МассивКнопокПодменю, "НачислениеПоБольничномуЛисту", ТипКнопкиКоманднойПанели.Действие, "Больничный лист", СтруктураСоответствияДействий.ДействиеБольничныйЛист);
				}
				if(true/*ИспользоватьУправленческийУчетЗарплаты*/)
				{
					if(true/*Не ПринятВКомпанию И Не УволенИзКомпании*/)
					{
						//ДобавитьКнопкуВПодменю(МассивКнопокПодменю, "Разделитель4", ТипКнопкиКоманднойПанели.Разделитель);
						//ДобавитьКнопкуВПодменю(МассивКнопокПодменю, "ПриемНаРаботу", ТипКнопкиКоманднойПанели.Действие, "Прием на работу", СтруктураСоответствияДействий.ДействиеВводНаОснованииПриемНаРаботу);
						//ДобавитьКнопкуВПодменю(МассивКнопокПодменю, "Разделитель5", ТипКнопкиКоманднойПанели.Разделитель);
					}
					if(true/*ПринятВКомпанию И Не УволенИзКомпании*/)
					{
						//ДобавитьКнопкуВПодменю(МассивКнопокПодменю, "КадровоеПеремещение", ТипКнопкиКоманднойПанели.Действие, "Кадровое перемещение", СтруктураСоответствияДействий.ДействиеВводНаОснованииКадровоеПеремещение);
						//ДобавитьКнопкуВПодменю(МассивКнопокПодменю, "Увольнение", ТипКнопкиКоманднойПанели.Действие, "Увольнение", СтруктураСоответствияДействий.ДействиеВводНаОснованииУвольнение);
						//ДобавитьКнопкуВПодменю(МассивКнопокПодменю, "Разделитель6", ТипКнопкиКоманднойПанели.Разделитель);
					}
				}
			}
			//СотрудникиОрганизацийДополнительный.СформироватьПодменюВвестиДокумент(МассивКнопокПодменю, СтруктураСоответствияДействий, ДанныеСотрудника, Форма);
		}

		public void ДобавитьКнопкуВПодменю(/*МассивКнопок, ИмяКнопки, ТипКнопки, ТекстКнопки = "", Действие = Неопределено*/)
		{
		}

		public void ДополнитьСтруктуруСоответствияДействий(/*СтруктураСоответствияДействий, ДополнительныеДействия*/)
		{
			//СтруктураСоответствияДействий.Вставить("ДействиеВводНаОснованииПриемНаРаботу"						, ДополнительныеДействия);
			//СтруктураСоответствияДействий.Вставить("ДействиеВводНаОснованииКадровоеПеремещение"					, ДополнительныеДействия);
			//СтруктураСоответствияДействий.Вставить("ДействиеВводНаОснованииУвольнение"							, ДополнительныеДействия);
			//СотрудникиОрганизацийДополнительный.ДополнитьСтруктуруСоответствияДействий(СтруктураСоответствияДействий, ДополнительныеДействия);
		}

		public void УстановитьОтборыПоВидуДоговораДополнительно(/*ДанныеСтроки, ЭтаФорма*/)
		{
			if(true/*ДанныеСтроки.ВидДоговора = 0*/)
			{
				/*// договор управленческий
*/
				//ЭтаФорма.СправочникСписок.Отбор.ВидДоговора.ВидСравнения		= ВидСравнения.Равно;
				//ЭтаФорма.СправочникСписок.Отбор.ВидДоговора.Значение			= Перечисления.ВидыДоговоровСФизЛицами.ДоговорУправленческий;
				//ЭтаФорма.СправочникСписок.Отбор.ВидДоговора.Использование	= Истина;
			}
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ УПРАВЛЕНИЯ ЭЛЕМЕНТАМИ ФОРМЫ
		// Процедура дополняет список отборов по тем видам договоров, которые есть только в текущей конфигурации
		//

		public void ДополнитьСписокОтборов(/*СписокОтборов*/)
		{
			//ИспользоватьУправленческийУчетЗарплаты = глЗначениеПеременной("глИспользоватьУправленческийУчетЗарплаты");
			if(true/*ИспользоватьУправленческийУчетЗарплаты*/)
			{
				//СписокОтборов.Добавить(0,	Перечисления.ВидыДоговоровСФизЛицами.ДоговорУправленческий);
			}
		}
		// Процедура дополняет список колонок в списке сотрудников теми колонками, которые есть только в текущей конфигурации
		//

		public void УправлениеСпискомКолонок(/*ЭтаФорма, РежимРаботыФормы*/)
		{
			//ИспользоватьУправленческийУчетЗарплаты = глЗначениеПеременной("глИспользоватьУправленческийУчетЗарплаты");
			//СправочникСписок	= ЭтаФорма.СправочникСписок;
			//ТабличноеПоле		= ЭтаФорма.ЭлементыФормы.СправочникСписок;
			//КолонкиСписка	= ТабличноеПоле.Колонки;
			//МДсотрудники	= Метаданные.Справочники.СотрудникиОрганизаций.Реквизиты;
			if(true/*КолонкиСписка.Найти("ТекущееПодразделениеКомпании") = Неопределено*/)
			{
				//Видимость = Ложь;
				if(true/*ИспользоватьУправленческийУчетЗарплаты*/)
				{
					//Видимость = ВосстановитьЗначение("СправочникСотрудники_" + РежимРаботыФормы + "Колонка_ТекущееПодразделениеКомпании");
					if(true/*Видимость = Неопределено*/)
					{
						//Видимость = Ложь;
					}
				}
				//НоваяКолонка = КолонкиСписка.Добавить("ТекущееПодразделениеКомпании", МДсотрудники.ТекущееПодразделениеКомпании.Синоним);
				//НоваяКолонка.Видимость	= Видимость;
				//НоваяКолонка.Положение	= ПоложениеКолонки.ВТойЖеКолонке;
				//НоваяКолонка.ИзменятьВидимость = ИспользоватьУправленческийУчетЗарплаты;
				//НоваяКолонка.Данные		= "ТекущееПодразделениеКомпании";
				//СправочникСписок.Колонки.Добавить("ТекущееПодразделениеКомпании");
				if(true/*НЕ ИспользоватьУправленческийУчетЗарплаты*/)
				{
					//ТабличноеПоле.НастройкаОтбора.ТекущееПодразделениеКомпании.Доступность = ИспользоватьУправленческийУчетЗарплаты;
				}
			}
			if(true/*КолонкиСписка.Найти("ТекущаяДолжностьКомпании") = Неопределено*/)
			{
				//Видимость = Ложь;
				if(true/*ИспользоватьУправленческийУчетЗарплаты*/)
				{
					//Видимость = ВосстановитьЗначение("СправочникСотрудники_" + РежимРаботыФормы + "Колонка_ТекущаяДолжностьКомпании");
					if(true/*Видимость = Неопределено*/)
					{
						//Видимость = Ложь;
					}
				}
				//НоваяКолонка = КолонкиСписка.Добавить("ТекущаяДолжностьКомпании", МДсотрудники.ТекущаяДолжностьКомпании.Синоним);
				//НоваяКолонка.Видимость	= Видимость;
				//НоваяКолонка.Положение	= ПоложениеКолонки.ВТойЖеКолонке;
				//НоваяКолонка.ИзменятьВидимость = ИспользоватьУправленческийУчетЗарплаты;
				//НоваяКолонка.Данные		= "ТекущаяДолжностьКомпании";
				//СправочникСписок.Колонки.Добавить("ТекущаяДолжностьКомпании");
				if(true/*НЕ ИспользоватьУправленческийУчетЗарплаты*/)
				{
					//ТабличноеПоле.НастройкаОтбора.ТекущаяДолжностьКомпании.Доступность = ИспользоватьУправленческийУчетЗарплаты;
				}
			}
			if(true/*КолонкиСписка.Найти("ДатаПриемаНаРаботуВКомпанию") = Неопределено*/)
			{
				//Видимость = Ложь;
				if(true/*ИспользоватьУправленческийУчетЗарплаты*/)
				{
					//Видимость = ВосстановитьЗначение("СправочникСотрудники_" + РежимРаботыФормы + "Колонка_ДатаПриемаНаРаботуВКомпанию");
					if(true/*Видимость = Неопределено*/)
					{
						//Видимость = Ложь;
					}
				}
				//НоваяКолонка = КолонкиСписка.Добавить("ДатаПриемаНаРаботуВКомпанию", МДсотрудники.ДатаПриемаНаРаботуВКомпанию.Синоним);
				//НоваяКолонка.Видимость	= Видимость;
				//НоваяКолонка.Положение	= ПоложениеКолонки.ВТойЖеКолонке;
				//НоваяКолонка.ИзменятьВидимость = ИспользоватьУправленческийУчетЗарплаты;
				//НоваяКолонка.Данные		= "ДатаПриемаНаРаботуВКомпанию";
				//СправочникСписок.Колонки.Добавить("ДатаПриемаНаРаботуВКомпанию");
				if(true/*НЕ ИспользоватьУправленческийУчетЗарплаты*/)
				{
					//ТабличноеПоле.НастройкаОтбора.ДатаПриемаНаРаботуВКомпанию.Доступность = ИспользоватьУправленческийУчетЗарплаты;
				}
			}
			if(true/*КолонкиСписка.Найти("ДатаУвольненияИзКомпании") = Неопределено*/)
			{
				//Видимость = Ложь;
				if(true/*ИспользоватьУправленческийУчетЗарплаты*/)
				{
					//Видимость = ВосстановитьЗначение("СправочникСотрудники_" + РежимРаботыФормы + "Колонка_ДатаУвольненияИзКомпании");
					if(true/*Видимость = Неопределено*/)
					{
						//Видимость = Ложь;
					}
				}
				//НоваяКолонка = КолонкиСписка.Добавить("ДатаУвольненияИзКомпании", МДсотрудники.ДатаУвольненияИзКомпании.Синоним);
				//НоваяКолонка.Видимость	= Видимость;
				//НоваяКолонка.Положение	= ПоложениеКолонки.ВТойЖеКолонке;
				//НоваяКолонка.ИзменятьВидимость = ИспользоватьУправленческийУчетЗарплаты;
				//НоваяКолонка.Данные		= "ДатаУвольненияИзКомпании";
				//СправочникСписок.Колонки.Добавить("ДатаУвольненияИзКомпании");
				if(true/*НЕ ИспользоватьУправленческийУчетЗарплаты*/)
				{
					//ТабличноеПоле.НастройкаОтбора.ДатаУвольненияИзКомпании.Доступность = ИспользоватьУправленческийУчетЗарплаты;
				}
			}
		}
		// Процедура сохраняет настройку видимости добавленных программно колонок в списке сотрудников
		//

		public void СохранитьВидимостьКолонок(/*ЭтаФорма, РежимРаботыФормы*/)
		{
			//ИспользоватьУправленческийУчетЗарплаты = глЗначениеПеременной("глИспользоватьУправленческийУчетЗарплаты");
			if(true/*НЕ ИспользоватьУправленческийУчетЗарплаты*/)
			{
			}
			//КолонкиСписка	= ЭтаФорма.ЭлементыФормы.СправочникСписок.Колонки;
			//Колонка = КолонкиСписка.Найти("ТекущееПодразделениеКомпании");
			if(true/*Колонка <> Неопределено*/)
			{
				//СохранитьЗначение("СправочникСотрудники_" + РежимРаботыФормы + "Колонка_ТекущееПодразделениеКомпании",	Колонка.Видимость);
			}
			//Колонка = КолонкиСписка.Найти("ТекущаяДолжностьКомпании");
			if(true/*Колонка <> Неопределено*/)
			{
				//СохранитьЗначение("СправочникСотрудники_" + РежимРаботыФормы + "Колонка_ТекущаяДолжностьКомпании",	Колонка.Видимость);
			}
			//Колонка = КолонкиСписка.Найти("ДатаПриемаНаРаботуВКомпанию");
			if(true/*Колонка <> Неопределено*/)
			{
				//СохранитьЗначение("СправочникСотрудники_" + РежимРаботыФормы + "Колонка_ДатаПриемаНаРаботуВКомпанию",	Колонка.Видимость);
			}
			//Колонка = КолонкиСписка.Найти("ДатаУвольненияИзКомпании");
			if(true/*Колонка <> Неопределено*/)
			{
				//СохранитьЗначение("СправочникСотрудники_" + РежимРаботыФормы + "Колонка_ДатаУвольненияИзКомпании",	Колонка.Видимость);
			}
		}
		// Процедура дополняет подменю с возможными вариантами упорядочивания списка сотрудников
		//

		public void ДополнитьУпорядочивание(/*ЭтаФорма*/)
		{
			//ИспользоватьУправленческийУчетЗарплаты = глЗначениеПеременной("глИспользоватьУправленческийУчетЗарплаты");
			if(true/*НЕ ИспользоватьУправленческийУчетЗарплаты*/)
			{
			}
			//Кнопки = ЭтаФорма.ЭлементыФормы.ДействияФормы.Кнопки.УпорядочитьПо.Кнопки;
			//НоваяКнопка = Кнопки.Добавить();
			//НоваяКнопка.ТипКнопки	= ТипКнопкиКоманднойПанели.Действие;
			//НоваяКнопка.Имя			= "ТекущееПодразделениеКомпании";
			//НоваяКнопка.Подсказка	= "Упорядочить по подразделению компании";
			//НоваяКнопка.Пояснение	= НоваяКнопка.Подсказка;
			//НоваяКнопка.Текст		= "Подразделению компании";
			//НоваяКнопка.Действие	= Новый Действие("УпорядочитьПо");
			//НоваяКнопка = Кнопки.Добавить();
			//НоваяКнопка.ТипКнопки	= ТипКнопкиКоманднойПанели.Действие;
			//НоваяКнопка.Имя			= "ТекущаяДолжностьКомпании";
			//НоваяКнопка.Подсказка	= "Упорядочить по должности компании";
			//НоваяКнопка.Пояснение	= НоваяКнопка.Подсказка;
			//НоваяКнопка.Текст		= "Должности компании";
			//НоваяКнопка.Действие	= Новый Действие("УпорядочитьПо");
			//НоваяКнопка = Кнопки.Добавить();
			//НоваяКнопка.ТипКнопки	= ТипКнопкиКоманднойПанели.Действие;
			//НоваяКнопка.Имя			= "ДатаПриемаНаРаботуВКомпанию";
			//НоваяКнопка.Подсказка	= "Упорядочить по дате приема на работу в компанию";
			//НоваяКнопка.Пояснение	= НоваяКнопка.Подсказка;
			//НоваяКнопка.Текст		= "Дате приема в компанию";
			//НоваяКнопка.Действие	= Новый Действие("УпорядочитьПо");
		}
		// Функция возвращает текст названия группы, когда значение упорядочивания - пустое
		//

		public object СформироватьТекстПриПолученииДанныхДляПустойГруппы(/*ИмяРеквизитаПорядка*/)
		{
			//Текст = "";
			if(true/*ИмяРеквизитаПорядка = "ТекущееПодразделениеКомпании"*/)
			{
				//Текст = "Подразделение не указано";
			}
			return null;
		}
		// Процедура дополняет список возможных отображений списка
		//

		public void ДополнитьРежимыОтображенияСписка(/*ЭтаФорма, ДействиеПриАктивизацииСтроки, ДействиеПриПолученииДанных*/)
		{
			//ИспользоватьУправленческийУчетЗарплаты = глЗначениеПеременной("глИспользоватьУправленческийУчетЗарплаты");
			if(true/*НЕ ИспользоватьУправленческийУчетЗарплаты*/)
			{
			}
			//Элементы = ЭтаФорма.ЭлементыФормы;
			//Элементы.ПолеРежимОтображенияСписка.СписокВыбора.Добавить("ПоСтруктуреКомпании", "По структуре компании");
			//Панель = Элементы.ПанельРежимОтображенияСписка;
			//Страница = Панель.Страницы.Добавить();
			//Страница.Имя = "ПоСтруктуреКомпании";
			//Панель.ТекущаяСтраница = Страница;
			//ТабличноеПоле = Элементы.Добавить(Тип("ТабличноеПоле"), "СтруктураКомпании", Истина, Элементы.ПанельРежимОтображенияСписка);
			//ТабличноеПоле.ТипЗначения					= Новый ОписаниеТипов("СправочникСписок.Подразделения");
			//ТабличноеПоле.Ширина						= Панель.Ширина;
			//ТабличноеПоле.Высота						= Панель.Высота;
			//ТабличноеПоле.Шапка							= Ложь;
			//ТабличноеПоле.Дерево						= Истина;
			//ТабличноеПоле.НачальноеОтображениеДерева	= НачальноеОтображениеДерева.РаскрыватьВерхнийУровень;
			//ТабличноеПоле.ГоризонтальныеЛинии			= Ложь;
			//ТабличноеПоле.ВертикальныеЛинии				= Ложь;
			//ТабличноеПоле.Значение.Порядок.Установить("Порядок");
			//ТабличноеПоле.УстановитьПривязку(ГраницаЭлементаУправления.Право, Панель, ГраницаЭлементаУправления.Право);
			//ТабличноеПоле.УстановитьПривязку(ГраницаЭлементаУправления.Низ, Панель, ГраницаЭлементаУправления.Низ);
			//Колонка = ТабличноеПоле.Колонки.Добавить();
			//Колонка.Имя					= "Наименование";
			//Колонка.Данные				= "Наименование";
			//Колонка.ТекстШапки			= "Подразделение";
			//Колонка.ОтображатьИерархию	= Истина;
			//Колонка.Ширина				= 28;
			//Колонка = ТабличноеПоле.Колонки.Добавить();
			//Колонка.Имя			= "Код";
			//Колонка.Данные		= "Код";
			//Колонка.ТекстШапки	= "Код";
			//Колонка.Ширина		= 10;
			//ТабличноеПоле.УстановитьДействие("ПриАктивизацииСтроки",	ДействиеПриАктивизацииСтроки);
			//ТабличноеПоле.УстановитьДействие("ПриПолученииДанных",		ДействиеПриПолученииДанных);
		}
		// Функция возвращает режим отображения списка для переданных отборов
		//

		public object ОпределитьРежимОтображенияСпискаПоОтбору(/*Отборы*/)
		{
			//ИспользоватьУправленческийУчетЗарплаты = глЗначениеПеременной("глИспользоватьУправленческийУчетЗарплаты");
			if(true/*НЕ ИспользоватьУправленческийУчетЗарплаты*/)
			{
			}
			if(true/*Отборы.ТекущееПодразделениеКомпании.Использование*/)
			{
			}
			return null;
		}
		// Процедура устанавливает отбор, если при открытии списка сотрудников выбран режим отображения списка
		//

		public void УстановитьОтборДляВыбранногоРежимаОтображенияСписка(/*РежимОтображенияСписка, ЭлементыФормы, Отборы*/)
		{
			//ИспользоватьУправленческийУчетЗарплаты = глЗначениеПеременной("глИспользоватьУправленческийУчетЗарплаты");
			if(true/*НЕ ИспользоватьУправленческийУчетЗарплаты*/)
			{
			}
			if(true/*РежимОтображенияСписка = "ПоСтруктуреКомпании"*/)
			{
				//ОтборПоПодразделению = Отборы.ТекущееПодразделениеКомпании.Значение;
				if(true/*ТипЗнч(ОтборПоПодразделению) = Тип("СправочникСсылка.ПодразделенияОрганизаций")*/)
				{
					//ЭлементыФормы.СтруктураКомпании.ТекущаяСтрока = ОтборПоПодразделению;
				}
			}
		}
		// Функция определяет, нужно или нет обязательно использовать иерархию, даже если пользователь ее отключил
		//

		public object ИспользоватьИерархию(/*Отборы*/)
		{
			return null;
		}
		// Процедура очищает отбор по режиму отображения списка
		//

		public void ОчиститьОтборыПоРежимуОтображенияСписка(/*ЭтаФорма, РежимОтображенияСписка = ""*/)
		{
			//Отборы = ЭтаФорма.СправочникСписок.Отбор;
			if(true/*РежимОтображенияСписка <> "ПоСтруктуреКомпании" И Отборы.ТекущееПодразделениеКомпании.Использование*/)
			{
				//Отборы.ТекущееПодразделениеКомпании.Использование	= Ложь;
			}
			if(true/*РежимОтображенияСписка = "ПоСтруктуреКомпании"*/)
			{
				if(true/*Отборы.Организация.Использование*/)
				{
					//Отборы.Организация.Использование	= Ложь;
				}
				if(true/*Отборы.ТекущееОбособленноеПодразделение.Использование*/)
				{
					//Отборы.ТекущееОбособленноеПодразделение.Использование	= Ложь;
				}
				//ОтборПоОрганизации = ЭтаФорма.ЭлементыФормы.ОтборПоОрганизации;
				//ОтборПоОрганизации.Значение = ОтборПоОрганизации.СписокВыбора.Получить(0).Значение;
			}
		}
		// Процедура устанавливает отбор по режиму отображения списка
		//

		public void УстановитьОтборПоРежимуОтображенияСписка(/*ЭтаФорма, РежимОтображенияСписка*/)
		{
			//ДанныеСтроки = ЭтаФорма.ЭлементыФормы.СтруктураКомпании.ТекущиеДанные;
			if(true/*ДанныеСтроки = Неопределено*/)
			{
				//ОчиститьОтборыПоРежимуОтображенияСписка(ЭтаФорма);
			}
		}
		// Процедура - обработчик события "ПриАктивизацииСтроки" табличного поля РежимОтображенияДанных
		//

		public void РежимОтображенияДанныхПриАктивизацииСтроки(/*ЭтаФорма, РежимОтображенияСписка*/)
		{
			//УстановитьОтборПоРежимуОтображенияСписка(ЭтаФорма, РежимОтображенияСписка);
		}
		// Процедура - обработчик события "ПриПолученииДанных" табличного поля РежимОтображенияДанных
		//

		public void РежимОтображенияДанныхПриПолученииДанных(/*ЭтаФорма, ОформленияСтрок, РежимОтображенияСписка*/)
		{
			//ЖирныйШрифт = Новый Шрифт(ШрифтыСтиля.ШрифтТекста,,, Истина);
		}

		public void ЗаполнитьДополнительныеНаборыПоФизлицу(/*ЭтаФорма*/)
		{
			/*// в этой конфигурации дополнительные наборы не заполняются	
*/
		}
		//Функция проверяет необходимость проверки и установки вида занятости

		public object ПроверитьНеобходимостьУстановкиВидаЗанятости(/*ЭтаФорма*/)
		{
			/*НадоПроверятьВидЗанятости = (ЭтаФорма.ВидЗанятости = Перечисления.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы 
		или ЭтаФорма.ВидЗанятости = Перечисления.ВидыЗанятостиВОрганизации.Совместительство) и ЗначениеЗаполнено(ЭтаФорма.Организация)
		и ЗначениеЗаполнено(ЭтаФорма.Физлицо);*/
			return null;
		}
		// ПроверитьНеобходимостьУстановкиВидаЗанятости()
		////////////////////////////////////////////////////////////////////////////////
		// Процедуры, функции менеджера

		public void ОбработкаПолученияДанныхВыбораДополнительно(/*ДанныеВыбора, Параметры, СтандартнаяОбработка*/)
		{
			//Отборы = Новый Массив;
			//Отборы.Добавить("Организация");
			//Отборы.Добавить("ТекущееПодразделениеКомпании");
			//Отборы.Добавить("ТекущееОбособленноеПодразделение");
			//Отборы.Добавить("ПодразделениеОрганизации");
			/*// если значение отбора не заполнено, то необходимо исключить отбор
*/
		}
		// ОбработкаПолученияДанныхВыбораДополнительно
		////////////////////////////////////////////////////////////////////////////////
		// Процедуры, функции для работы формы персональных надбавок

		public object ПолучитьЗаголовокФормы(/*Наименование*/)
		{
			return null;
		}
		////////////////////////////////////////////////////////////////////////////////
		// Процедуры, функции для работы формы списка трудовых договоров

		public void ДополнитьВидыДоговоровДляОтбора(/*СписокЗначенийДляОтбора*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void ЗаполнитьФормуСпискаТрудовыхДоговоровДополнительно(/*Форма, ЭтаФорма*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}
	}
}
